Fix tools Makefiles to respect CFLAGS. Disable stack-smash
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Tue, 28 Feb 2006 10:41:54 +0000 (11:41 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Tue, 28 Feb 2006 10:41:54 +0000 (11:41 +0100)
protection when building vmxassist/hvmloader.

Signed-off-by: Keir Fraser <keir@xensource.com>
tools/firmware/hvmloader/Makefile
tools/firmware/vgabios/Makefile
tools/firmware/vmxassist/Makefile
tools/ioemu/Makefile
tools/ioemu/target-i386-dm/Makefile
tools/tests/Makefile

index c23698e7756ee61262934069eed7c540fbc5d6f1..421224c60ad880b356b68fb829ebdc5d8813070c 100644 (file)
@@ -19,7 +19,7 @@
 #
 
 XEN_ROOT = ../../..
-include $(XEN_ROOT)/tools/Rules.mk
+include $(XEN_ROOT)/Config.mk
 
 # The HVM loader is started in 32-bit mode at the address below:
 LOADADDR = 0x100000
@@ -29,9 +29,13 @@ XENINC   =-I$(XEN_ROOT)/tools/libxc
 
 OBJECTS         = hvmloader.o acpi_madt.o 
 
-CC       = gcc
+# Disable PIE/SSP if GCC supports them. They can break us.
+CFLAGS  += $(call test-gcc-flag,$(CC),-nopie)
+CFLAGS  += $(call test-gcc-flag,$(CC),-fno-stack-protector)
+CFLAGS  += $(call test-gcc-flag,$(CC),-fno-stack-protector-all)
+
 OBJCOPY  = objcopy
-CFLAGS   = $(DEFINES) -I. $(XENINC) -Wall -fno-builtin -O2 -msoft-float
+CFLAGS  += $(DEFINES) -I. $(XENINC) -Wall -fno-builtin -O2 -msoft-float
 CFLAGS  += -m32 -march=i686
 LDFLAGS  = -m32 -nostdlib -Wl,-N -Wl,-Ttext -Wl,$(LOADADDR)
 
index b1568c248b8d4bf4b6c9aa2d3ddaab8c6c222d32..2b27e01f7c9c8ce8736b986f489218b1b1ebe453 100644 (file)
@@ -1,6 +1,4 @@
 CC      = gcc
-CFLAGS  = -g -O2 -Wall -Wstrict-prototypes
-LDFLAGS = 
 
 GCC = gcc
 BCC = bcc
index 4f84410132d42b4569a4a20f1401f8d152765964..814bf1639682ff40e0412fe85e2228248652a98c 100644 (file)
@@ -19,7 +19,7 @@
 #
 
 XEN_ROOT = ../../..
-include $(XEN_ROOT)/tools/Rules.mk
+include $(XEN_ROOT)/Config.mk
 
 # The emulator code lives in ROM space
 TEXTADDR=0x000D0000
@@ -27,11 +27,14 @@ TEXTADDR=0x000D0000
 DEFINES=-DDEBUG -DTEXTADDR=$(TEXTADDR)
 XENINC=-I$(XEN_ROOT)/tools/libxc
 
-LD       = ld
-CC       = gcc
+# Disable PIE/SSP if GCC supports them. They can break us.
+CFLAGS  += $(call test-gcc-flag,$(CC),-nopie)
+CFLAGS  += $(call test-gcc-flag,$(CC),-fno-stack-protector)
+CFLAGS  += $(call test-gcc-flag,$(CC),-fno-stack-protector-all)
+
 CPP      = cpp -P
 OBJCOPY  = objcopy -p -O binary -R .note -R .comment -R .bss -S --gap-fill=0
-CFLAGS   = $(DEFINES) -I. $(XENINC) -Wall -fno-builtin -O2 -msoft-float
+CFLAGS  += $(DEFINES) -I. $(XENINC) -Wall -fno-builtin -O2 -msoft-float
 CFLAGS  += -m32 -march=i686
 LDFLAGS  = -m elf_i386
 
index d99da37ef4fdc0c9e5461e1e64b3383fa7352a85..0cb6ab5e5d75244a8de971e2fce2af97f66ab33e 100644 (file)
@@ -1,6 +1,9 @@
+XEN_ROOT=../..
+include $(XEN_ROOT)/tools/Rules.mk
+
 -include config-host.mak
 
-CFLAGS=-Wall -O2 -g -fno-strict-aliasing 
+CFLAGS+=-Wall -O2 -g -fno-strict-aliasing 
 ifdef CONFIG_DARWIN
 CFLAGS+= -mdynamic-no-pic
 endif
index 171516c8096b8153b566ca54050a08a90d01d6e7..ac2774f14f773915d8a7cf01640d53f770ddde5a 100644 (file)
@@ -1,8 +1,9 @@
-XEN_ROOT=../../..
-include $(XEN_ROOT)/tools/Rules.mk
 include config.mak
 override TARGET_ARCH=i386
 
+XEN_ROOT=../../..
+include $(XEN_ROOT)/tools/Rules.mk
+
 INSTALL_DIR := $(DESTDIR)/usr/$(LIBDIR)/xen/bin
 TARGET_PATH=$(SRC_PATH)/target-$(TARGET_ARCH)
 VPATH=$(SRC_PATH):$(TARGET_PATH):$(SRC_PATH)/hw:$(SRC_PATH)/audio
@@ -12,7 +13,7 @@ ifdef CONFIG_USER_ONLY
 VPATH+=:$(SRC_PATH)/linux-user
 DEFINES+=-I$(SRC_PATH)/linux-user -I$(SRC_PATH)/linux-user/$(TARGET_ARCH)
 endif
-CFLAGS=-Wall -O2 -g -fno-strict-aliasing
+CFLAGS+=-Wall -O2 -g -fno-strict-aliasing
 LDFLAGS=-g
 LIBS=
 HELPER_CFLAGS=$(CFLAGS)
index 015e8ae256dae6a675dfa7234de791a123f2c624..99b6b20408155a25d775811a9d836c364e99947c 100644 (file)
@@ -4,13 +4,12 @@ include $(XEN_ROOT)/tools/Rules.mk
 
 TARGET := test_x86_emulator
 
-CC     := gcc
-CFLAGS := -O2 -Wall -Werror -D__TEST_HARNESS__
+HOSTCFLAGS += -D__TEST_HARNESS__
 
 all: $(TARGET)
 
 $(TARGET): x86_emulate.o test_x86_emulator.o
-       $(CC) -o $@ $^
+       $(HOSTCC) -o $@ $^
 
 clean:
        rm -rf $(TARGET) *.o *~ core
@@ -18,7 +17,7 @@ clean:
 install:
 
 x86_emulate.o: $(XEN_ROOT)/xen/arch/x86/x86_emulate.c
-       $(CC) $(CFLAGS) -I$(XEN_ROOT)/xen/include -c -o $@ $<
+       $(HOSTCC) $(HOSTCFLAGS) -I$(XEN_ROOT)/xen/include -c -o $@ $<
 
 %.o: %.c
-       $(CC) $(CFLAGS) -I$(XEN_ROOT)/xen/include -c -o $@ $<
+       $(HOSTCC) $(HOSTCFLAGS) -I$(XEN_ROOT)/xen/include -c -o $@ $<